package programme;

import java.util.ArrayList;

public class VecteurVariables {

	/** Liste des variables*/
	private ArrayList<Variable> variables;
	
	/** Nom commun aux variables*/
	private String nom;

	public VecteurVariables(String nom) {
		this.nom = nom;
		variables = new ArrayList<Variable>();
	}

	public VecteurVariables(String nom, ArrayList<Variable> variables) {
		super();
		this.nom = nom;
		this.variables = variables;
	}
	
	/**
	 * Crée un VecteurVariables ayant pour nom *nom* contenant des variables de type *type et nommé de 0 à nbVariables-1
	 * 
	 * @param nom
	 * @param nbVariable
	 * @param type
	 */
	public VecteurVariables(String nom, int nbVariables, TypeVariable type) {
		super();
		this.nom = nom;
		variables = new ArrayList<Variable>();
		for(int i = 0; i < nbVariables; i++){
			Variable v = new Variable(this, i, type);
		}
	}	
	
	/**
	 * Crée un VecteurVariables ayant pour nom *nom* contenant des variables de type *type et nommé de 0 à nbVariables-1, de bornes min et max
	 * 
	 * @param nom
	 * @param nbVariable
	 * @param type
	 * @param min
	 * @param max
	 */	
	public VecteurVariables(String nom, int nbVariables, TypeVariable type, double min, double max) {
		super();
		this.nom = nom;
		variables = new ArrayList<Variable>();
		for(int i = 0; i < nbVariables; i++){
			Variable v = new Variable(this, i, type, min, max);
		}
	}		

	public ArrayList<Variable> getVariables() {
		return variables;
	}

	public void setVariables(ArrayList<Variable> variables) {
		this.variables = variables;
	}

	public String getNom() {
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public void addVariable(Variable variable) {
		variables.add(variable);
	}
}
